<!-- 问答 -->
<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title>问答</title>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<link rel="stylesheet" href="/lib/layui-v2.6.3/css/layui.css" media="all">
	<link rel="stylesheet" href="/css/public.css" media="all">
</head>

<body>
	<div class="layuimini-container">
		<div class="layuimini-main">
			<fieldset class="table-search-fieldset">
				<legend>搜索信息</legend>
				<div style="margin: 10px 10px 10px 10px">
					<form class="layui-form layui-form-pane" action="">
						<div class="layui-form-item">
							<div class="layui-inline">
								<label class="layui-form-label">问题</label>
								<div class="layui-input-inline">
									<input type="text" name="question" id="question" autocomplete="off" class="layui-input">
								</div>
							</div>
							<div class="layui-inline">
								<label class="layui-form-label">开始时间</label>
								<div class="layui-input-inline">
									<input type="text" class="layui-input" id="beginDate" name="beginDate" autocomplete="off">
								</div>
							</div>
							<div class="layui-inline">
								<label class="layui-form-label">结束时间</label>
								<div class="layui-input-inline">
									<input type="text" class="layui-input" id="endDate" name="endDate" autocomplete="off">
								</div>
							</div>
							<div class="layui-inline">
								<button type="submit" class="layui-btn" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
							</div>
						</div>
					</form>
				</div>
			</fieldset>

			<!-- 公共操作栏 -->
			<script type="text/html" id="toolbarGlobal">
				<div class="layui-btn-container">
					<button class="layui-btn layui-btn-sm layui-btn-normal data-add-btn" lay-event="add"><i class="layui-icon"></i>添加</button>
					<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"><i class="layui-icon"></i>批量删除</button>
				</div>
			</script>
			<!-- 表格数据显示 -->
			<table class="layui-hide" id="currentTable" lay-filter="currentTableFilter"></table>
			<!-- 表格中的操作栏 -->
			<script type="text/html" id="currentTableBar">
				<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><i class="layui-icon"></i>编辑</a>
				<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete"><i class="layui-icon"></i>删除</a>
			</script>

		</div>
	</div>

	<!-- 页面事件处理 -->
	<script src="/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
	<script>
		layui.use(['form', 'table', 'laydate'], function () {
			var $ = layui.jquery,
				form = layui.form,
				table = layui.table,
				laydate = layui.laydate;

			// 给时间框绑定时间控件
			laydate.render({
				elem: '#beginDate',
				trigger: 'mousedown'
			});
			// 给时间框绑定时间控件
			laydate.render({
				elem: '#endDate',
				trigger: 'mousedown'
			});
			// 显示表格
			table.render({
				elem: '#currentTable', // 绑定到元素
				url: 'http://localhost:9000/api/shopgoodsissue/pagelist', // 数据接口地址
				request: { // 处理接口中分页参数名称
					pageName: 'pageNo', // 修改默认的分页参数，指定第几页参数pageName的名称
					limitName: 'pageSize' // 修改默认的分页参数，指定每页多少数据参数limitName的名称
				},
				toolbar: '#toolbarGlobal', // 表格上面的公共工具栏
				defaultToolbar: ['filter', 'exports', 'print'], // 默认的工具栏
				cols: [
					[
						{
							type: "checkbox", // 批量选择复选框
							width: 50 // 自定义宽度
						},
						{
							field: 'id', // 接口字段
							width: 80, // 自定义宽度
							title: 'ID', // 表头标题
							sort: true // 是否可排序
						},
						{
							field: 'question',
							minWidth: 80,
							title: '问题',
						},
						{
							field: 'answer',
							minWidth: 80,
							title: '回答'
						},
						{
							field: 'createTime',
							width: 180,
							title: '创建时间',
						},
						{
							field: 'delFlag',
							title: '是否删除',
							sort: true,
							align: 'center',
							width: 120,
							templet: function (data) {
								return '<input name="delFlag" value="' + data.delFlag + '" type="checkbox" ' + ( data.delFlag === 1 ? '' : 'checked="checked"') + ' lay-event="switchDelFlag" lay-skin="switch" lay-filter="switchDelFlag" lay-text="正常|删除">';
							}
						},
						{
							title: '操作',
							width: 180,
							toolbar: '#currentTableBar',
							align: "center"
						}
					]
				],
				done: function (res, curr, count) {
					// 开关按钮启用禁用监听
					let arr = $("[data-field='delFlag']");
					for (let i = 1; i < arr.length; i++) {
						$(arr[i]).on('click', function () {
							let id = $(this).parent("tr").children('td').eq(1).text();
							let checked = true;
							if ('删除' === this.innerText) {
								checked = false;
							}
							switchDelFlag(id, checked);
						});
					}
					form.render(); // 这里不加也不影响按钮渲染
				},
				limits: [10, 15, 20, 25, 50, 100],
				limit: 10,
				page: true,
				skin: 'line'
			});

			// 根据主键ID修改删除状态
			function switchDelFlag(id, checked) {
				let param = {
					id: id, // 主键ID
					delFlag: checked ? 0 : 1 // 删除状态
				};
				$.ajax({
					url: 'http://localhost:9000/api/shopgoodsissue/update',
					type: 'POST',
					data: JSON.stringify(param), // 将对象转换为JSON字符串传递
					dataType: 'JSON',
					headers: {
						"Content-Type": "application/json" // 指定请求方式为JSON
					},
					success: function (res) {
						if (res.code == '0') {
							layer.msg('成功', {
								icon: 1,
								time: 2000
							});
						} else {
							layer.msg('失败', {
								icon: 2,
								time: 2000
							});
						}
					},
					error: function (res) {
						layer.msg('服务器开小差了', {
							offset: '15px',
							icon: 2,
							time: 2000
						});
					}
				});
				return false;
			}

			// 监听搜索操作
			form.on('submit(data-search-btn)', function (data) {
				var result = JSON.stringify(data.field);
				layer.alert(result, {
					title: '最终的搜索信息'
				});
				// 执行搜索重载
				table.reload('currentTable', {
					// 分页对象，自动处理分页
					page: {
						curr: 1
					},
					where: {
						question: data.field.question,
						beginDate: data.field.beginDate,
						endDate: data.field.endDate
					},
					url: "http://localhost:9000/api/shopgoodsissue/pagelist",
					method: "GET"
				}, 'data');

				return false;
			});

			/**
			 * 弹出层[添加][批量删除]等监听事件
			 */
			table.on('toolbar(currentTableFilter)', function (obj) {
				if (obj.event === 'add') { // 监听添加操作，与lay-event="add"对应
					var index = layer.open({
						title: '添加商品问答', // 页面标题
						type: 2, // 页面类型
						shade: 0.2, // 遮罩背景透明度
						maxmin: false, // 不显示最大化最小化按钮
						shadeClose: true, // 显示关闭按钮
						area: ['100%', '100%'], // 全屏填充
						content: 'add.html', // 打开的页面
					});
					// 当调整浏览器窗口大小时重新设置全屏
					$(window).on("resize", function () {
						layer.full(index); // 全屏显示
					});
					layer.full(index); // 默认全屏显示
				} else if (obj.event === 'delete') { // 监听批量删除操作，与lay-event="delete"对应
					var checkStatus = table.checkStatus('currentTable');
					var data = checkStatus.data;
					var ids = []; // 需要删除的ID数组
					for (let i = 0; i < data.length; i++) {
						ids[i] = data[i].id;
					}
					if (ids.length == 0) {
						return false; // 未选中任何行
					}
					// Ajax调用后端接口批量删除数据
					layer.confirm('真的批量删除么', function (index) {
						// 通过Ajax根据id删除数据
						$.ajax({
							url: 'http://localhost:9000/api/shopgoodsissue/remove',
							type: 'POST',
							data: JSON.stringify(ids), // 删除接口通过RequestParam方式传值
							dataType: 'JSON',
							headers: {
								"Content-Type": "application/json" // 指定请求方式为JSON
							},
							success: function (res) {
								if (res.code == '0') {
									layer.msg('删除成功', {
										icon: 1,
										time: 2000
									});
								} else {
									layer.msg('删除失败', {
										icon: 2,
										time: 2000
									});
								}
							},
							error: function (res) {
								layer.msg('删除失败', {
									icon: 2,
									time: 2000
								});
							}
						});
						// 删除数据后，执行搜索重载
						table.reload('currentTable', {
							// 分页对象，自动处理分页
							page: {
								curr: 1
							},
							url: "http://localhost:9000/api/shopgoodsissue/pagelist",
							method: "GET"
						}, 'data');
						layer.close(index);
					});
				}
			});

			// 点击编辑按钮
			table.on('tool(currentTableFilter)', function (obj) {
				var data = obj.data;
				if (obj.event === 'edit') {
					var index = layer.open({
						title: '编辑用户', // 页面标题
						type: 2, // 页面类型
						shade: 0.2, // 遮罩背景透明度
						maxmin: false, // 不显示最大化最小化按钮
						shadeClose: true, // 显示关闭按钮
						area: ['100%', '100%'], // 全屏填充
						content: 'edit.html', // 打开的页面
						success: function (layero, index) {
							// 加载动画
							layer.load(2, {
								time: 10, // 持续时间10毫秒
								shade: false
							});
							var body = layer.getChildFrame('body', index); // body.html() body里面的内容
							layui.form.render(); // 渲染
							var iframe = layero.find('iframe')[0].contentWindow; // 获取弹出窗口
							// 将待编辑数据显示到修改页面中
							body.find("#id").val(data.id); // 通过ID查找
							body.find("input[name='question']").val(data.question); // 通过输入框名称查找
							body.find("input[name='answer']").val(data.answer);
							body.find("input[name='sortOrder']").val(data.sortOrder);
							// body.find("select[name='status']").val(data.status); // 给下拉框赋
							// iframe.layui.form.render('select');// 在弹窗中渲染下拉框
						}
					});
					// 当调整浏览器窗口大小时重新设置全屏
					$(window).on("resize", function () {
						layer.full(index); // 全屏显示
					});
					layer.full(index); // 默认全屏显示
					return false;
				} else if (obj.event === 'delete') {
					layer.confirm('真的删除行么', function (index) {
						// 通过Ajax根据id删除数据
						$.ajax({
							url: 'http://localhost:9000/api/shopgoodsissue/delete',
							type: 'POST',
							data: "id="+data.id, // 删除接口通过RequestParam方式传值
							dataType: 'JSON',
							success: function (res) {
								if (res.code == '0') {
									layer.msg('删除成功', {
										icon: 1,
										time: 2000
									});
								} else {
									layer.msg('删除失败', {
										icon: 2,
										time: 2000
									});
								}
							},
							error: function (res) {
								layer.msg('删除失败', {
									icon: 2,
									time: 2000
								});
							}
						});
						// obj.del(); // 移除页面数据行
						// 删除数据后，执行搜索重载
						table.reload('currentTable', {
							// 分页对象，自动处理分页
							page: {
								curr: 1
							},
							url: "http://localhost:9000/api/shopgoodsissue/pagelist",
							method: "GET"
						}, 'data');
						layer.close(index);
					});
				}
			});
		});
	</script>

</body>

</html>